package com._520it.crm.service;

import com._520it.crm.domain.OrderBill;
import com._520it.crm.page.PageResult;
import com._520it.crm.query.OrderBillQueryObject;
import com._520it.crm.util.Premium;

import java.util.List;

public interface IOrderBillService {

    int insert(OrderBill record);

    OrderBill selectByPrimaryKey(Long id);

    List<OrderBill> selectAll();

    int updateByPrimaryKey(OrderBill record);

    PageResult queryDataList(OrderBillQueryObject qo);


    /**
     * 保存保单id，保单号等信息
     * @param ob
     * @return
     */
    OrderBill saveData1(OrderBill ob);

    /**
     * 根据orderbill id查询保费计算对象中对应属性
     * @param id
     * @return
     */
    Premium selectPremiumByBillId(Long id);
    /**
     * 保单查询
     * @param qo
     * @return
     */
    PageResult selectBill(OrderBillQueryObject qo);

    /**
     * 新增保单的保存操作
     * @param ob
     */
    void insertData(OrderBill ob, boolean isequalRec, boolean equalOwnerId);
    /**
     * 根据id更新保单的状态
     * @param id
     */
    void updateById(Long id);

    void updateStatusByPay(OrderBill orderBill);

    void issueSendBackUpdate(Long orderBillId);

    /**
     * 根据id查询部分保单信息
     * @param id
     * @return
     */
    OrderBill selectById(Long id);

    void removeById(Long orderBillId,int remove, int status);



    int updateStatusById(long orderBillId,int status);

    void updateOrderBill(OrderBill ob);

    void updateTime(OrderBill ob);
}
